\begin{abstract}
\thispagestyle{empty}

SPASS est un outil d'aide à l'enseignement de la programmation. C'est à la fois une plateforme de soumission pour les projets développés par des étudiants, et à la fois une plateforme de test semi-automatisée sur les projets soumis.
Ce mémoire présente les différentes étapes qui ont menées à son développement, en expliquant son cheminement et en fournissant les informations nécessaires à la compréhension de son fonctionnement.\\
SPASS est donc écrit en langage Python, son architecture a été conçue de manière entièrement modulaire, et possède un système de plugins.
Depuis le début, l'idée directrice a été l'\emph{implémentation modulaire}. Par manque de temps, toutes les fonctionnalités initialement présentes dans le cahier des charges n'ont pas pu être implémentées (notamment pour l'interface graphique web), mais SPASS a été conçu de façon à laisser la possibilité d'être étendu avec une grande facilité. SPASS se basant sur une architecture entièrement modulaire, tant sur son fonctionnement interne, que son comportement avec l'extérieur.\\
Il offre donc la possibilité de brancher des interfaces utilisateurs et des \textit{plugins} pour étendre ses fonctionnalités, et utilise SQLAlchemy pour le dialogue avec la base de données (assurant ainsi une grande liberté de choix du SGDB). Sa plateforme de test est là aussi entièrement modulaire et offre une grande souplesse d'utilisation tout en assurant un environnement d'exécution sécurisé.

\end{abstract}
